package com.sgcc.file.service;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.sgcc.file.utils.FileUploadUtils;

/**
 * 本地文件存储
 * 
 * @author sgcc
 */
@Primary
@Service
public class AliyunOOSFileServiceImpl implements ISysFileService
{
    /**
     * yourEndpoint填写Bucket所在地域对应的Endpoint。
     * 以华东1（杭州）为例，
     * Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
     */
    @Value("${aliyun.endpoint}")
    public String endpoint;

    /**
     * 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。
     * 强烈建议您创建并使用RAM账号进行API访问或日常运维，
     * 请登录 https://ram.console.aliyun.com 创建RAM账号。
     */
    @Value("${aliyun.accessKeyId}")
    public String accessKeyId;
    
    /**
     * 
     */
    @Value("${aliyun.accessKeySecret}")
    private String accessKeySecret;
    /**
     * 请求地址
     */
    @Value("${aliyun.bucket}")
    private String bucket;

    @Value("${aliyun.bucketDns}")
    private String bucketDns;

    /**
     * 本地文件上传接口
     * 
     * @param file 上传的文件
     * @return 访问地址
     * @throws Exception
     */
    @Override
    public String uploadFile(MultipartFile file,String folder) throws Exception
    {
        String url = FileUploadUtils.upload(endpoint,accessKeyId,accessKeySecret,file,bucket,folder,bucketDns);
        return url;
    }
}
